<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>trngpsx: xtrngpsx.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">trngpsx
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xtrngpsx_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xtrngpsx.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains trng definitions of VersalNet. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaf0628cfa849c9b93b2bc3ddb0e59870b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#gaf0628cfa849c9b93b2bc3ddb0e59870b">XTRNGPSX_DEFAULT_SEED_LIFE</a>&#160;&#160;&#160;256U</td></tr>
<tr class="memdesc:gaf0628cfa849c9b93b2bc3ddb0e59870b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default seed life.  <a href="group___overview.html#gaf0628cfa849c9b93b2bc3ddb0e59870b">More...</a><br/></td></tr>
<tr class="separator:gaf0628cfa849c9b93b2bc3ddb0e59870b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77e0b07d55f767a322cb870bb0521da3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga77e0b07d55f767a322cb870bb0521da3">XTRNGPSX_PERS_STRING_LEN_IN_WORDS</a>&#160;&#160;&#160;12U</td></tr>
<tr class="memdesc:ga77e0b07d55f767a322cb870bb0521da3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Personalization string length in words.  <a href="group___overview.html#ga77e0b07d55f767a322cb870bb0521da3">More...</a><br/></td></tr>
<tr class="separator:ga77e0b07d55f767a322cb870bb0521da3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3257b88a565d4f7b0fa135f5c24f7fde"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga3257b88a565d4f7b0fa135f5c24f7fde">XTRNGPSX_PERS_STRING_LEN_IN_BYTES</a>&#160;&#160;&#160;48U</td></tr>
<tr class="memdesc:ga3257b88a565d4f7b0fa135f5c24f7fde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Personalization string length in bytes.  <a href="group___overview.html#ga3257b88a565d4f7b0fa135f5c24f7fde">More...</a><br/></td></tr>
<tr class="separator:ga3257b88a565d4f7b0fa135f5c24f7fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6633fc0a90497ef7a28b75e708053d77"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga6633fc0a90497ef7a28b75e708053d77">XTRNGPSX_SEC_STRENGTH_IN_BYTES</a>&#160;&#160;&#160;32U</td></tr>
<tr class="memdesc:ga6633fc0a90497ef7a28b75e708053d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">security strength in Bytes  <a href="group___overview.html#ga6633fc0a90497ef7a28b75e708053d77">More...</a><br/></td></tr>
<tr class="separator:ga6633fc0a90497ef7a28b75e708053d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gabf665f37f1800c3d3859681db4fb46c2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#gabf665f37f1800c3d3859681db4fb46c2">XTrngpsx_ErrorState</a> { <br/>
&#160;&#160;<a class="el" href="group___overview.html#ggabf665f37f1800c3d3859681db4fb46c2af33a5bf5d37571fefcdaa758930d6c5b">XTRNGPSX_UNHEALTHY</a> = 1, 
<a class="el" href="group___overview.html#ggabf665f37f1800c3d3859681db4fb46c2a519e903ee50abb8ccf5050c6bde24740">XTRNGPSX_HEALTHY</a>, 
<a class="el" href="group___overview.html#ggabf665f37f1800c3d3859681db4fb46c2ac8bf6bfdece57626cb0915eb4d8772b4">XTRNGPSX_CATASTROPHIC</a>, 
<a class="el" href="group___overview.html#ggabf665f37f1800c3d3859681db4fb46c2aea69652aba529ca2df1550310a5b92cc">XTRNGPSX_ERROR</a>, 
<br/>
&#160;&#160;<a class="el" href="group___overview.html#ggabf665f37f1800c3d3859681db4fb46c2a7c767c57bf2693d05df2a4aa7ed49b60">XTRNGPSX_STARTUP_TEST</a>
<br/>
 }</td></tr>
<tr class="separator:gabf665f37f1800c3d3859681db4fb46c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a37c0faa6994f63b7c2c62ffe43562f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga1a37c0faa6994f63b7c2c62ffe43562f">XTrngpsx_State</a> { <a class="el" href="group___overview.html#gga1a37c0faa6994f63b7c2c62ffe43562fab40d38d0bc64cb683a4ade9c3d07bd1b">XTRNGPSX_UNINITIALIZED_STATE</a> = 1, 
<a class="el" href="group___overview.html#gga1a37c0faa6994f63b7c2c62ffe43562fa6256a9f5a1ae6be94d94216a77e47d1c">XTRNGPSX_INSTANTIATE_STATE</a>, 
<a class="el" href="group___overview.html#gga1a37c0faa6994f63b7c2c62ffe43562fa0ec15ca3bf0e6216ad396aab80cd64db">XTRNGPSX_RESEED_STATE</a>, 
<a class="el" href="group___overview.html#gga1a37c0faa6994f63b7c2c62ffe43562fabf5f966ef2781b173f3d0126aa1aa1d3">XTRNGPSX_GENERATE_STATE</a>
 }</td></tr>
<tr class="separator:ga1a37c0faa6994f63b7c2c62ffe43562f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d0ae14b9bbf4f302c87faaa43cb8a79"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga2d0ae14b9bbf4f302c87faaa43cb8a79">XTrngpsx_ErrorCodes</a> { <br/>
&#160;&#160;<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a3028234bc4951452efec651d280e9a13">XTRNGPSX_INVALID_PARAM</a> = 0x0, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79abea04f8cfe70d6dc5a8e7a78d8a9929a">XTRNGPSX_INVALID_MODE</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79ace1309d483b3c71b4648cfc74ffc5944">XTRNGPSX_INVALID_DF_LENGTH</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a75b95f1933476804c7b9aabc342b465f">XTRNGPSX_INVALID_SEED_LIFE</a>, 
<br/>
&#160;&#160;<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79aaf19eaa7b8db854d074a23c6722bc99d">XTRNGPSX_INVALID_SEED_VALUE</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a95625aa33c96fc9e65543064eb4e973e">XTRNGPSX_INVALID_SEED_LENGTH</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a21c4b76c9247554959c5f0ff66568ac0">XTRNGPSX_INVALID_STATE</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a892ff927b85e5aeb786102b701523766">XTRNGPSX_INVALID_ADAPTPROPTEST_CUTOFF_VALUE</a>, 
<br/>
&#160;&#160;<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a4879ffc6bc8dbbef89413a41af0bef1f">XTRNGPSX_INVALID_REPCOUNTTEST_CUTOFF_VALUE</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a12c6a942189e26d4ef054ec3b4e5a39f">XTRNGPSX_USER_CFG_COPY_ERROR</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a750afc0bc2b7948b06e719628dce4ec4">XTRNGPSX_UNHEALTHY_STATE</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79ab478bf676839153009c7a5bc91005079">XTRNGPSX_INVALID_BUF_SIZE</a>, 
<br/>
&#160;&#160;<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a45649834be62e2cac315b4ed8db133f9">XTRNGPSX_RESEED_REQUIRED_ERROR</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a026fb1ebe44fe8daa96bb6a7b27e98c9">XTRNG_PSX_INVALID_PREDRES_VALUE</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a1e193483a8faf3099ed9860439b6ee3d">XTRNGPSX_MEMSET_UNINSTANTIATE_ERROR</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a611d0be64ec9b573c0aa0ed99e0a5975">XTRNGPSX_TIMEOUT_ERROR</a>, 
<br/>
&#160;&#160;<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a83efeb211988308d8f9b07bbbe8c23b3">XTRNGPSX_CATASTROPHIC_CTF_ERROR</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a2929b58685ab788ea0107d339657632d">XTRNGPSX_CATASTROPHIC_DTF_ERROR</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a16fc12b7986ebaee8fe81ae27042988a">XTRNGPSX_KAT_FAILED_ERROR</a>, 
<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a8b29809ecc7cba250e0961eb2e8f4ce6">XTRNGPSX_WRITE_ERROR</a>, 
<br/>
&#160;&#160;<a class="el" href="group___overview.html#gga2d0ae14b9bbf4f302c87faaa43cb8a79a07e0d5857d20d9872791857be99cd964">XTRNGPSX_INVALID_BLOCKING_MODE</a>
<br/>
 }</td></tr>
<tr class="separator:ga2d0ae14b9bbf4f302c87faaa43cb8a79"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga4b58c114f10a1f421ea6864d1983c5e3"><td class="memItemLeft" align="right" valign="top">XTrngpsx_Config *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga4b58c114f10a1f421ea6864d1983c5e3">XTrngpsx_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:ga4b58c114f10a1f421ea6864d1983c5e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns a reference to an XTrngpsx_Config structure based on the DeviceId.  <a href="group___overview.html#ga4b58c114f10a1f421ea6864d1983c5e3">More...</a><br/></td></tr>
<tr class="separator:ga4b58c114f10a1f421ea6864d1983c5e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b5653250d7dad396a064b0ba6fa5c34"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga6b5653250d7dad396a064b0ba6fa5c34">XTrngpsx_CfgInitialize</a> (XTrngpsx_Instance *InstancePtr, const XTrngpsx_Config *CfgPtr, UINTPTR EffectiveAddr)</td></tr>
<tr class="memdesc:ga6b5653250d7dad396a064b0ba6fa5c34"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the TRNGPSV instance/driver.  <a href="group___overview.html#ga6b5653250d7dad396a064b0ba6fa5c34">More...</a><br/></td></tr>
<tr class="separator:ga6b5653250d7dad396a064b0ba6fa5c34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68da9a334ae46bbed63a36ae6a273745"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga68da9a334ae46bbed63a36ae6a273745">XTrngpsx_Instantiate</a> (XTrngpsx_Instance *InstancePtr, const u8 *Seed, u32 SeedLength, const u8 *PersStr, const XTrngpsx_UserConfig *UserCfg)</td></tr>
<tr class="memdesc:ga68da9a334ae46bbed63a36ae6a273745"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function instantiates the TRNG instance with user configure values.  <a href="group___overview.html#ga68da9a334ae46bbed63a36ae6a273745">More...</a><br/></td></tr>
<tr class="separator:ga68da9a334ae46bbed63a36ae6a273745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27d626b65acc3b1e97573f4c2d2ee8e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga27d626b65acc3b1e97573f4c2d2ee8e1">XTrngpsx_Reseed</a> (XTrngpsx_Instance *InstancePtr, const u8 *Seed, u8 DLen)</td></tr>
<tr class="memdesc:ga27d626b65acc3b1e97573f4c2d2ee8e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function triggers and reseeds the DRBG module.  <a href="group___overview.html#ga27d626b65acc3b1e97573f4c2d2ee8e1">More...</a><br/></td></tr>
<tr class="separator:ga27d626b65acc3b1e97573f4c2d2ee8e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa94d3f0522f2c56e9a4b6abe4193db2e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#gaa94d3f0522f2c56e9a4b6abe4193db2e">XTrngpsx_Generate</a> (XTrngpsx_Instance *InstancePtr, u8 *RandBuf, u32 RandBufSize, u8 PredResistance)</td></tr>
<tr class="memdesc:gaa94d3f0522f2c56e9a4b6abe4193db2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function generates and collects random data in to a buffer.  <a href="group___overview.html#gaa94d3f0522f2c56e9a4b6abe4193db2e">More...</a><br/></td></tr>
<tr class="separator:gaa94d3f0522f2c56e9a4b6abe4193db2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga15ee0bc83b064ce7910792c014c589b1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga15ee0bc83b064ce7910792c014c589b1">XTrngpsx_Uninstantiate</a> (XTrngpsx_Instance *InstancePtr)</td></tr>
<tr class="memdesc:ga15ee0bc83b064ce7910792c014c589b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function uninstantiates the TRNG instance.  <a href="group___overview.html#ga15ee0bc83b064ce7910792c014c589b1">More...</a><br/></td></tr>
<tr class="separator:ga15ee0bc83b064ce7910792c014c589b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96822ba4d9b936cb95d8190ffd3095f0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga96822ba4d9b936cb95d8190ffd3095f0">XTrngpsx_DRBGKat</a> (XTrngpsx_Instance *InstancePtr)</td></tr>
<tr class="memdesc:ga96822ba4d9b936cb95d8190ffd3095f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function runs DRBG self test i.e DRBG full cycle Instantiate+Reseed, Reseed and Generate.  <a href="group___overview.html#ga96822ba4d9b936cb95d8190ffd3095f0">More...</a><br/></td></tr>
<tr class="separator:ga96822ba4d9b936cb95d8190ffd3095f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b57a3574f76fbaf1edac0255b95373e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#ga9b57a3574f76fbaf1edac0255b95373e">XTrngpsx_HealthTest</a> (XTrngpsx_Instance *InstancePtr)</td></tr>
<tr class="memdesc:ga9b57a3574f76fbaf1edac0255b95373e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function runs health tests.  <a href="group___overview.html#ga9b57a3574f76fbaf1edac0255b95373e">More...</a><br/></td></tr>
<tr class="separator:ga9b57a3574f76fbaf1edac0255b95373e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecce7c23f64a684ac613d6c36ae708cb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___overview.html#gaecce7c23f64a684ac613d6c36ae708cb">XTrngpsx_PreOperationalSelfTests</a> (XTrngpsx_Instance *InstancePtr)</td></tr>
<tr class="memdesc:gaecce7c23f64a684ac613d6c36ae708cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function runs preoperational self tests and updates TRNG error state.  <a href="group___overview.html#gaecce7c23f64a684ac613d6c36ae708cb">More...</a><br/></td></tr>
<tr class="separator:gaecce7c23f64a684ac613d6c36ae708cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
